/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package server;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import mail.Message;

/**
 *
 * @author Lab-214-21
 */
public class MailServer {

    ArrayList lista;
    int siguiente;

    public MailServer() {
        lista = new ArrayList();
        siguiente = 1;
    }

    public int getMessagesWaiting(String name) {
        int cantidad = 0;
        Iterator it = lista.iterator();
        Message mensaje = null;
        while (it.hasNext()) {
            Message objeto = (Message) it.next();
            if (objeto.getDestinario() == name) {
                cantidad = cantidad + 1;
            }
        };

        return cantidad;
    }

    private ArrayList<Message> obtenerMensajesRecibidos(String name) {
        ArrayList listaNueva = new ArrayList();
        Iterator it = lista.iterator();
      
        while (it.hasNext()) {
            Message objeto = (Message) it.next();
            if (objeto.getDestinario() == name) {
                listaNueva.add(objeto);
            }
   
        };

        return listaNueva;
    }

    public Message getNextMessage(String name) {
        
        Iterator it = obtenerMensajesRecibidos(name).iterator();
        int i = 1;
        Message mensaje = null;
        while (it.hasNext()) {
            Message objeto = (Message) it.next();
            if (i == siguiente) {
                mensaje = objeto;
                siguiente = siguiente + 1;
                break;
            }
            i = i + 1;
        };

        return mensaje;
    }

    public void post(Message mensaje) {
        lista.add(mensaje);
    }
}
